package controlador;


import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import modelo.ModeloCliente;
import vista.VistaCliente;

public class ControladorCliente implements ActionListener{

	private VistaCliente vistacliente;
	private ModeloCliente modelocliente;
	
	public  void Limpiar(){
		vistacliente.getTxtCodigo().setText("");
		vistacliente.getTxtNombre().setText("");
		vistacliente.getTxtTelefono().setText("");
		vistacliente.getTxtDireccion().setText("");
	}
	
	public ControladorCliente(VistaCliente vistacliente){
		super();
		this.vistacliente = vistacliente;
		this.modelocliente = new ModeloCliente();
	}
	
	public void mostrarInfoCliente(ModeloCliente cliente){
		
		vistacliente.getTxtCodigo().setText(cliente.getCedula());
		vistacliente.getTxtNombre().setText(cliente.getNombre());
		vistacliente.getTxtTelefono().setText(cliente.getTelefono());
		vistacliente.getTxtDireccion().setText(cliente.getDireccion());
	}

	public void actionPerformed(ActionEvent ae) {
		String mensaje;
		ModeloCliente clienteEncontrado = null;
		
		int tipoMensaje=0;
			// BUSCAR
			if(ae.getActionCommand().equalsIgnoreCase(vistacliente.getBtnBuscar().getText())){

				clienteEncontrado = modelocliente.existe(vistacliente.getTxtCodigo().getText());
				if (clienteEncontrado == null){
					mensaje = "No se econtro la cedula";
					tipoMensaje = JOptionPane.INFORMATION_MESSAGE;
					JOptionPane.showMessageDialog(new JPanel(), mensaje,"Sistema la <<Guapa>>    Comida Rápida", tipoMensaje);
					Limpiar();
				}else{
					mostrarInfoCliente(clienteEncontrado);
				}
			}
		
		//guardar
		//if (ae.getSource()== vistacliente.getBtnGuardar()){
		
			if(ae.getActionCommand().equalsIgnoreCase(vistacliente.getBtnGuardar().getText())){
				
					//System.out.println("Acepto guardar");
					//ModeloCliente clienteEncontrado;		
					ModeloCliente clienteActual = new ModeloCliente(vistacliente.getTxtCodigo().getText(), vistacliente.getTxtNombre().getText(),vistacliente.getTxtTelefono().getText(),vistacliente.getTxtDireccion().getText());
					
					clienteEncontrado = modelocliente.existe(clienteActual.getCedula());
									
					if (clienteEncontrado == null){
					
						modelocliente.registar(clienteActual);
						mensaje="Cliente ingresado exitosamente";
						tipoMensaje = JOptionPane.INFORMATION_MESSAGE;
						JOptionPane.showMessageDialog(new JPanel(), mensaje,"Sistema <<La Guapa>>    Comida Rapida",tipoMensaje);
						Limpiar();
					
					}else{
						
						mensaje = "Cliente que esta intentando ingresar ya se encuentra registrado";
						tipoMensaje = JOptionPane.WARNING_MESSAGE;
						JOptionPane.showMessageDialog(new JPanel(), mensaje,"Sistema <<La Guapa>>    Comida Rapida",tipoMensaje);
						//mostrarInfoLibro(categoriaActual);
						
					}
			
		}
			
		if (ae.getActionCommand().equalsIgnoreCase(vistacliente.getBtnCancelar().getText())){
				Limpiar();
		}
		
		if (ae.getActionCommand().equalsIgnoreCase(vistacliente.getBtnModificar().getText())){
			
			//modelocliente.setCedula((vistacliente.getTxtCodigo().getText()));
			//modelocliente.setNombre(vistacliente.getTxtNombre().getText());		
			//ModeloCliente clienteActual = new ModeloCliente (vistacliente.getTxtCodigo().getText(), vistacliente.getTxtNombre().getText(), vistacliente.getTxtTelefono().getText(),vistacliente.getTxtDireccion().getText());
			ModeloCliente modelocliente = new ModeloCliente (vistacliente.getTxtCodigo().getText(), vistacliente.getTxtNombre().getText(), vistacliente.getTxtTelefono().getText(),vistacliente.getTxtDireccion().getText());
			clienteEncontrado=modelocliente.existe(modelocliente.getCedula());
			
			if (clienteEncontrado == null){
				
				mensaje = "Error Cliente no modificado";
				tipoMensaje = JOptionPane.WARNING_MESSAGE;
				Limpiar();					

			}else{
				modelocliente.modificarCliente();
				mensaje="Cliente Modificado";
				tipoMensaje= JOptionPane.INFORMATION_MESSAGE;
				JOptionPane.showMessageDialog(new JPanel(),mensaje,"Sistema <<La Guapa>>    Comida Rapida",	tipoMensaje);
				Limpiar();
				}
		}
		
		//ELIMINAR
		if (ae.getActionCommand().equalsIgnoreCase(vistacliente.getBtnEliminar().getText())){
			
			//modelocliente.setCedula((vistacliente.getTxtCodigo().getText()));
			//modelocliente.setNombre(vistacliente.getTxtNombre().getText());		
			ModeloCliente modelocliente = new ModeloCliente (vistacliente.getTxtCodigo().getText(), vistacliente.getTxtNombre().getText(),vistacliente.getTxtTelefono().getText(), vistacliente.getTxtDireccion().getText());
			
			clienteEncontrado=modelocliente.existe(modelocliente.getCedula());
			
			if (clienteEncontrado == null){
				mensaje = "Error cliente no Eliminado";
				tipoMensaje = JOptionPane.WARNING_MESSAGE;
				Limpiar();					

			}else{
				modelocliente.eliminarCliente();
				mensaje="Cliente Eliminado";
				tipoMensaje= JOptionPane.INFORMATION_MESSAGE;
				JOptionPane.showMessageDialog(new JPanel(),mensaje,"Sistema <<La Guapa>>    Comida Rapida",	tipoMensaje);
				Limpiar();
			}
		}
		
		if (ae.getActionCommand().equalsIgnoreCase(vistacliente.getBtnSalir().getText())){
			vistacliente.dispose();
		}
		
		// TODO Auto-generated method stub
	}

}

